package me.zhengjie.modules.security.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

/**
 * Jwt参数配置
 * @author Zheng Jie
 * @date 2019年11月28日
 */
@Data
@Configuration
@ConfigurationProperties(prefix = "jwt")
public class SecurityProperties {

    /** Request Headers ： Authorization */
    private String header = "Authorization";

    /** 令牌前缀，最后留个空格 Bearer */
    private String tokenStartWith = "Bearer";

    /** 必须使用最少88位的Base64对该令牌进行编码 */
    private String base64Secret = "ZmQ0ZGI5NjQ0MDQwY2I4MjMxY2Y3ZmI3MjdhN2ZmMjNhODViOTg1ZGE0NTBjMGM4NDA5NzYxMjdjOWMwYWRmZTBlZjlh"
    		+ "NGY3ZTg4Y2U3YTE1ODVkZDU5Y2Y3OGYwZWE1NzUzNWQ2YjFjZDc0NGMxZWU2MmQ3MjY1NzJmNTE0MzI=";

    /** 令牌过期时间 此处单位/秒 */
    private Long tokenValidityInSeconds = 14400L;

    /** 记住我模式下的令牌过期时间 此处单位/秒 ，默认1天 */
    private Long tokenValidityInSecondsForRememberMe = 86400000L;

    /** 在线用户 key，根据 key 查询 redis 中在线用户的数据 */
    private String onlineKey = "online-token::";

    /** 验证码 key */
    private String codeKey = "code-key::";

    public String getTokenStartWith() {
        return tokenStartWith + " ";
    }
}
